package listthree.service;

import listthree.dao.UserDao;
import listthree.dao.UserDaoImpl;
import listthree.domain.User;

import java.util.List;

/**
 * @Author Administrator
 * @Date 2020/6/18 16:41
 * 业务逻辑层service
 * 具体实现类，具体实现接口中定义的功能
 * 组合dao层的若干方法，完成具体的业务需求
 **/
public class UserServiceImpl implements UserService {
    UserDao dao = new UserDaoImpl();
    @Override
    public List<User> findAll() {
        /*业务逻辑层的方法，若没有具体其他业务需求
          就只简单的调用dao层方法即可
         */
        return dao.selectAll();
    }
    @Override
    public int addUser(User user) {
        /*需考虑具体业务需求：用户名不能重复
         组合dao中的方法所喜爱你添加用户的功能
         1、调用dao相关方法判断是否已存在该用户
         2、若返回值为null，表示不存在
            调用dao相关方法，完成用户添加功能
           3、否则，表示已存在：
           返回-1
         */
        User u = dao.selectByName(user.getName());
        if (u==null){
            return dao.insert(user);
        }else{
            return -1;
        }
    }
}
